Fix a memory leak in gtk_label_compose_effective_attrs()
authorJonh Wendell <jwendell@gnome.org>
Tue, 22 Dec 2009 14:18:05 +0000 (11:18 -0300)
committerTristan Van Berkom <tristan.van.berkom@gmail.com>
Sun, 4 Apr 2010 00:53:43 +0000 (20:53 -0400)
gtk/gtklabel.c

index f1b737413e1ad1e1f6726f583b5a709145b439c4..dc221ed153125c9ea3d14dd6757f54c791d01119 100644 (file)
@@ -1861,17 +1861,20 @@ gtk_label_compose_effective_attrs (GtkLabel *label)
       if (label->effective_attrs)
        {
          if ((iter = pango_attr_list_get_iterator (label->attrs)))
-           do 
-             {
-               iter_attrs = pango_attr_iterator_get_attrs (iter);
-               for (l = iter_attrs; l; l = l->next)
-                 {
-                   attr = l->data;
-                   pango_attr_list_insert (label->effective_attrs, attr);
-                 }
-               g_slist_free (iter_attrs);
-             }
-           while (pango_attr_iterator_next (iter));
+           {
+             do
+               {
+                 iter_attrs = pango_attr_iterator_get_attrs (iter);
+                 for (l = iter_attrs; l; l = l->next)
+                   {
+                     attr = l->data;
+                     pango_attr_list_insert (label->effective_attrs, attr);
+                   }
+                 g_slist_free (iter_attrs);
+               }
+             while (pango_attr_iterator_next (iter));
+             pango_attr_iterator_destroy (iter);
+           }
        }
       else
        label->effective_attrs =